package com.demo.webapp.service;

/**
 * 访问统计服务
 * 1、提供
 * @author ryuu.kk
 *
 */
public interface AccessStatisticsService {

	/**
	 * 阅读、反馈、顶、踩、赞
	 * @author ryuu.kk
	 *
	 */
	public enum TYPE {
		READ,
		REPLY,
		UP,
		DOWN,
		FAVOUR,
		OTHER
	}
	
	/**
	 * 记录各种统计(调用一次自增1)
	 * @param objectId 对象id
	 * @param type 类型
	 * @return int 访问统计
	 */
	int record(long objectId, TYPE e);
	
	/**
	 * count 次数
	 * @param objectId 主键ID 
	 * @param e TYPE 类型
	 * @return int 次数
	 */
	int count(long objectId, TYPE e);
	
	/**
	 * 记录各种统计(调用一次自增1) - 使用其他接口访问
	 * @param objectId 对象id
	 * @param type 类型
	 * @return int 访问统计
	 */
	int record(long objectId, String type);
	
	/**
	 * count 次数- 使用其他接口访问
	 * @param objectId 主键ID 
	 * @param e TYPE 类型
	 * @return int 次数
	 */
	int[] count(long objectId, String[] type);
	
	/**
	 * 定时写入DB
	 * @return
	 */
	boolean flush();
}
